/*
 * @Author: Vorga
 * @LastEditors: Vorga
 */
#ifndef QUEUE_H
#define QUEUE_H

#include <stdio.h>
#include <stdbool.h>

//队列也是功能受限的表
//有两个进出口 先进先出FIFO
typedef struct QueueArray
{
    void** arr;
    size_t cal;
    int front;
    int rear;
}QueueArray;
//创建
QueueArray* create_qa(size_t cal);
//销毁
void destory_qa(QueueArray* qa);
//入队
void push_qa(QueueArray* qa, void* ptr);
//出队
void pop_qa(QueueArray* qa);
//队头
void* front_qa(QueueArray* qa);
//队尾
void* rear_qa(QueueArray* qa);
//队满
bool full_qa(QueueArray* qa);
//队空
bool empty_qa(QueueArray* qa);
//队长
size_t size_qa(QueueArray* qa);

#endif // QUEUE_H
